package com.linxiao.call.domain;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * webCall语音通知对象 crm_webcall_cdr
 * 
 * @author qiqi
 * @date 2022-06-10
 */
public class CrmWebcallCdr extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /** 企业ID */
    @Excel(name = "企业ID")
    private String cdrEnterpriseId;

    /** 座席工号 */
    @Excel(name = "座席工号")
    private String cdrCalleeCno;

    /** 分机号 */
    private String cdrCalleeExten;

    /** 通话标示 */
    @Excel(name = "通话标示")
    private String cdrMainUniqueId;

    /** 客户号码 */
    @Excel(name = "客户号码")
    private String cdrCustomerNumber;

    /** 虚拟小号 */
    private String cdrXNumber;

    /** 客户号码所属区号 */
    @Excel(name = "客户号码所属区号")
    private String cdrCustomerAreaCode;

    /** 客户号码所属城市 */
    @Excel(name = "客户号码所属城市")
    private String cdrCustomerCity;

    /** 客户号码所属城市 */
    @Excel(name = "客户号码所属城市")
    private String cdrCustomerProvince;

    /** 客户号码类型 1固话 2手机 */
    @Excel(name = "客户号码类型 1固话 2手机")
    private Long cdrCustomerNumberType;

    /** 呼叫状态20:webcall, TTS合成失败 21:webcall, 客户未接 22:webcall, 客户接听 23: webcall, 已呼叫 */
    @Excel(name = "呼叫状态20:webcall, TTS合成失败 21:webcall, 客户未接 22:webcall, 客户接听 23: webcall, 已呼叫")
    private Long cdrStatus;

    /** 呼叫类型，取值说明：2 webcall,5 预测外呼 */
    @Excel(name = "呼叫类型，取值说明：2 webcall,5 预测外呼")
    private Long cdrCallType;

    /** 呼叫开始时间 */
    @Excel(name = "呼叫开始时间")
    private String cdrStartTime;

    /** 客户振铃时间 */
    @Excel(name = "客户振铃时间")
    private String calleeRingingTime;

    /** webcall被叫侧(非座席)振铃时间 */
    @Excel(name = "webcall被叫侧(非座席)振铃时间")
    private String detailRingingTime;

    /** 双方桥接时间 */
    @Excel(name = "双方桥接时间")
    private String cdrBridgeTime;

    /** 客户接听时间 */
    @Excel(name = "客户接听时间")
    private String cdrAnswerTime;

    /** 挂机时间 */
    @Excel(name = "挂机时间")
    private String cdrEndTime;

    /** 通话请求id */
    private String cdrRequestUniqueId;

    /** 录音文件名称 */
    private String cdrRecordFile1;

    /** 挂机原因，取值说明：1000 主通道挂机; 1001 非主通道挂机; */
    private String cdrEndReason;

    /** 双方接听时长 */
    @Excel(name = "双方接听时长")
    private String cdrEndTimeCdrBridgeTime;

    /** 座席绑定电话 */
    private String cdrCalleeNumber;

    /** 客户侧外显号码 */
    private String cdrClid;

    /** webcall请求唯一标识 */
    private String webcallRequestUniqueId;

    /** 号码状态识别结果 710:忙 711:超时 712:拒接 713:空号 714:关机 */
    private String cdrDetailSipCause;

    /** 客户id */
    private String crmId;

    /** 二级部门ID */
    private Long mchId;

    /** 部门ID */
    private Long deptId;

    /** 文件大小 */
    private Long fileSize;

    /** 用户id */
    private Long userId;

    /** 手机号脱敏 */
    @Excel(name = "手机号脱敏")
    private String mobileHidden;

    private transient String fileId;

    public String getFileId() {
        return fileId;
    }

    public void setFileId(String fileId) {
        this.fileId = fileId;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setCdrEnterpriseId(String cdrEnterpriseId) 
    {
        this.cdrEnterpriseId = cdrEnterpriseId;
    }

    public String getCdrEnterpriseId() 
    {
        return cdrEnterpriseId;
    }
    public void setCdrCalleeCno(String cdrCalleeCno) 
    {
        this.cdrCalleeCno = cdrCalleeCno;
    }

    public String getCdrCalleeCno() 
    {
        return cdrCalleeCno;
    }
    public void setCdrCalleeExten(String cdrCalleeExten) 
    {
        this.cdrCalleeExten = cdrCalleeExten;
    }

    public String getCdrCalleeExten() 
    {
        return cdrCalleeExten;
    }
    public void setCdrMainUniqueId(String cdrMainUniqueId) 
    {
        this.cdrMainUniqueId = cdrMainUniqueId;
    }

    public String getCdrMainUniqueId() 
    {
        return cdrMainUniqueId;
    }
    public void setCdrCustomerNumber(String cdrCustomerNumber) 
    {
        this.cdrCustomerNumber = cdrCustomerNumber;
    }

    public String getCdrCustomerNumber() 
    {
        return cdrCustomerNumber;
    }
    public void setCdrXNumber(String cdrXNumber) 
    {
        this.cdrXNumber = cdrXNumber;
    }

    public String getCdrXNumber() 
    {
        return cdrXNumber;
    }
    public void setCdrCustomerAreaCode(String cdrCustomerAreaCode) 
    {
        this.cdrCustomerAreaCode = cdrCustomerAreaCode;
    }

    public String getCdrCustomerAreaCode() 
    {
        return cdrCustomerAreaCode;
    }
    public void setCdrCustomerCity(String cdrCustomerCity) 
    {
        this.cdrCustomerCity = cdrCustomerCity;
    }

    public String getCdrCustomerCity() 
    {
        return cdrCustomerCity;
    }
    public void setCdrCustomerProvince(String cdrCustomerProvince) 
    {
        this.cdrCustomerProvince = cdrCustomerProvince;
    }

    public String getCdrCustomerProvince() 
    {
        return cdrCustomerProvince;
    }
    public void setCdrCustomerNumberType(Long cdrCustomerNumberType) 
    {
        this.cdrCustomerNumberType = cdrCustomerNumberType;
    }

    public Long getCdrCustomerNumberType() 
    {
        return cdrCustomerNumberType;
    }
    public void setCdrStatus(Long cdrStatus) 
    {
        this.cdrStatus = cdrStatus;
    }

    public Long getCdrStatus() 
    {
        return cdrStatus;
    }
    public void setCdrCallType(Long cdrCallType) 
    {
        this.cdrCallType = cdrCallType;
    }

    public Long getCdrCallType() 
    {
        return cdrCallType;
    }
    public void setCdrStartTime(String cdrStartTime) 
    {
        this.cdrStartTime = cdrStartTime;
    }

    public String getCdrStartTime() 
    {
        return cdrStartTime;
    }
    public void setCalleeRingingTime(String calleeRingingTime) 
    {
        this.calleeRingingTime = calleeRingingTime;
    }

    public String getCalleeRingingTime() 
    {
        return calleeRingingTime;
    }
    public void setDetailRingingTime(String detailRingingTime) 
    {
        this.detailRingingTime = detailRingingTime;
    }

    public String getDetailRingingTime() 
    {
        return detailRingingTime;
    }
    public void setCdrBridgeTime(String cdrBridgeTime) 
    {
        this.cdrBridgeTime = cdrBridgeTime;
    }

    public String getCdrBridgeTime() 
    {
        return cdrBridgeTime;
    }
    public void setCdrAnswerTime(String cdrAnswerTime) 
    {
        this.cdrAnswerTime = cdrAnswerTime;
    }

    public String getCdrAnswerTime() 
    {
        return cdrAnswerTime;
    }
    public void setCdrEndTime(String cdrEndTime) 
    {
        this.cdrEndTime = cdrEndTime;
    }

    public String getCdrEndTime() 
    {
        return cdrEndTime;
    }
    public void setCdrRequestUniqueId(String cdrRequestUniqueId) 
    {
        this.cdrRequestUniqueId = cdrRequestUniqueId;
    }

    public String getCdrRequestUniqueId() 
    {
        return cdrRequestUniqueId;
    }
    public void setCdrRecordFile1(String cdrRecordFile1) 
    {
        this.cdrRecordFile1 = cdrRecordFile1;
    }

    public String getCdrRecordFile1() 
    {
        return cdrRecordFile1;
    }
    public void setCdrEndReason(String cdrEndReason) 
    {
        this.cdrEndReason = cdrEndReason;
    }

    public String getCdrEndReason() 
    {
        return cdrEndReason;
    }
    public void setCdrEndTimeCdrBridgeTime(String cdrEndTimeCdrBridgeTime) 
    {
        this.cdrEndTimeCdrBridgeTime = cdrEndTimeCdrBridgeTime;
    }

    public String getCdrEndTimeCdrBridgeTime() 
    {
        return cdrEndTimeCdrBridgeTime;
    }
    public void setCdrCalleeNumber(String cdrCalleeNumber) 
    {
        this.cdrCalleeNumber = cdrCalleeNumber;
    }

    public String getCdrCalleeNumber() 
    {
        return cdrCalleeNumber;
    }
    public void setCdrClid(String cdrClid) 
    {
        this.cdrClid = cdrClid;
    }

    public String getCdrClid() 
    {
        return cdrClid;
    }
    public void setWebcallRequestUniqueId(String webcallRequestUniqueId) 
    {
        this.webcallRequestUniqueId = webcallRequestUniqueId;
    }

    public String getWebcallRequestUniqueId() 
    {
        return webcallRequestUniqueId;
    }
    public void setCdrDetailSipCause(String cdrDetailSipCause) 
    {
        this.cdrDetailSipCause = cdrDetailSipCause;
    }

    public String getCdrDetailSipCause() 
    {
        return cdrDetailSipCause;
    }
    public void setCrmId(String crmId) 
    {
        this.crmId = crmId;
    }

    public String getCrmId() 
    {
        return crmId;
    }
    public void setMchId(Long mchId) 
    {
        this.mchId = mchId;
    }

    public Long getMchId() 
    {
        return mchId;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setFileSize(Long fileSize) 
    {
        this.fileSize = fileSize;
    }

    public Long getFileSize() 
    {
        return fileSize;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setMobileHidden(String mobileHidden) 
    {
        this.mobileHidden = mobileHidden;
    }

    public String getMobileHidden() 
    {
        return mobileHidden;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("cdrEnterpriseId", getCdrEnterpriseId())
            .append("cdrCalleeCno", getCdrCalleeCno())
            .append("cdrCalleeExten", getCdrCalleeExten())
            .append("cdrMainUniqueId", getCdrMainUniqueId())
            .append("cdrCustomerNumber", getCdrCustomerNumber())
            .append("cdrXNumber", getCdrXNumber())
            .append("cdrCustomerAreaCode", getCdrCustomerAreaCode())
            .append("cdrCustomerCity", getCdrCustomerCity())
            .append("cdrCustomerProvince", getCdrCustomerProvince())
            .append("cdrCustomerNumberType", getCdrCustomerNumberType())
            .append("cdrStatus", getCdrStatus())
            .append("cdrCallType", getCdrCallType())
            .append("cdrStartTime", getCdrStartTime())
            .append("calleeRingingTime", getCalleeRingingTime())
            .append("detailRingingTime", getDetailRingingTime())
            .append("cdrBridgeTime", getCdrBridgeTime())
            .append("cdrAnswerTime", getCdrAnswerTime())
            .append("cdrEndTime", getCdrEndTime())
            .append("cdrRequestUniqueId", getCdrRequestUniqueId())
            .append("cdrRecordFile1", getCdrRecordFile1())
            .append("cdrEndReason", getCdrEndReason())
            .append("cdrEndTimeCdrBridgeTime", getCdrEndTimeCdrBridgeTime())
            .append("cdrCalleeNumber", getCdrCalleeNumber())
            .append("cdrClid", getCdrClid())
            .append("webcallRequestUniqueId", getWebcallRequestUniqueId())
            .append("cdrDetailSipCause", getCdrDetailSipCause())
            .append("createTime", getCreateTime())
            .append("crmId", getCrmId())
            .append("mchId", getMchId())
            .append("deptId", getDeptId())
            .append("fileSize", getFileSize())
            .append("userId", getUserId())
            .append("mobileHidden", getMobileHidden())
            .toString();
    }
}
